
//  File:     Date.h
//  Purpose:  Header file with declaration of the Date class, including
//    member functions and private member variables.

class Date {
public:
  //  Constructors
  Date();
  Date(int aMonth, int aDay, int aYear);

  //  Assignment and change
  void setDay( int aDay );
  void setMonth( int aMonth );
  void setYear( int aYear );
  void increment();

  //  Access individual values
  int getDay() const;
  int getMonth() const;
  int getYear() const;

  //  Functions that answer questions about a Date object
  bool isEqual(const Date& date2) const;    // same day, month, year?
  bool isLeapYear() const;     
  int  lastDayInMonth() const;
  bool isLastDayInMonth() const;

  //  Output as month/day/year
  void print() const;

  void addDays( unsigned int num_to_add );

private:  //  Member variables
  int day;
  int month;
  int year;
};

bool sameDayAndMonth( const Date& date1, const Date& date2 );
